package biermanager.nucleo;

import java.awt.Color;

/**
 *
 * @author tiagoloureiro
 */

public class Time {
    
    private String nomeCompleto;
    private String nomeAbreviado;
    private Color[] cores = new Color[2];
    private int nivel;
    private int divisao;
    private int moral;
    private Plantel plantel;
    private Formacao formacao;
    private ImagemSerializada imagem;

    public void setImagem(ImagemSerializada imagem) {
        this.imagem = imagem;
    }

    public ImagemSerializada getImagemSerializada() {
        return imagem;
    }    
    
    public void setNomeCompleto( String nome ){
        this.nomeCompleto = nome;
    }
    public void setNomeAbreviado( String nome ){
        this.nomeAbreviado = nome;
    }
    public void setColor( Color[] cor ){
        if( cor != null ){
            this.cores[ 0 ] = cor[ 0 ];
        this.cores[ 1 ] = cor[ 1 ];
        }
    }
    public void setNivelInicial( int nivel ){
        this.nivel = nivel;
    }

    public void setCores(Color[] cores) {
        this.cores = cores;
    }

    public void setDivisao(int divisao) {
        this.divisao = divisao;
    }

    public void setFormacao(Formacao formacao) {
        this.formacao = formacao;
    }

    public void setNivel(int nivel) {
        this.nivel = nivel;
    }

    public String getNomeCompleto(){
        return( this.nomeCompleto );
    }
    public String getNomeAbreviado(){
        return( this.nomeAbreviado );
    }
    public Color[] getColor(){
        return( this.cores );
    }

    public int getNivelInicial(){
        return( this.nivel );
    }
    public Formacao getFormacao() {
         return (this.formacao);
     }

    public void setDivisaoAtual( int divisao ){
        this.divisao = divisao;
    }

    public void setMoral( int moral ){
        this.moral = moral;
    }
    public void setPlantel( Plantel p ){
        this.plantel = p;
    }
    public int getDivisaoAtual(){
        return(this.divisao);
    }

    public Plantel getPlantel(){
        return(this.plantel);
    }

    public int getNivel() {
        return nivel;
    }

    public int getMoral() {
        return moral;
    }

    public int getDivisao() {
        return divisao;
    }

    public Color[] getCores() {
        return cores;
    }

    public Time(String nomeCompleto, String nomeAbreviado,Color[] cor, int nivel, int divisao, int moral, Plantel plantel, Formacao formacao, String bandeira, ImagemSerializada imagem) {
        this.nomeCompleto = nomeCompleto;
        this.nomeAbreviado = nomeAbreviado;
        setColor( cor );
        this.nivel = nivel;
        this.divisao = divisao;
        this.moral = moral;
        this.plantel = plantel;
        this.formacao = formacao;
        this.imagem = imagem;
    }

    
    public Time(String nomeCompleto, String nomeAbreviado, Color[] cor, int nivel, int divisao, int moral, Plantel plantel, Formacao formacao, String bandeira) {
        this.nomeCompleto = nomeCompleto;
        this.nomeAbreviado = nomeAbreviado;
        setColor( cor );
        this.nivel = nivel;
        this.divisao = divisao;
        this.moral = moral;
        this.plantel = plantel;
        this.formacao = formacao;
    }



    public Time( String nomeComp, String nomeAbr, Color[] cor, String nomeTreinador, int nivel, int divisao,
        int quadra, int taxa, int moral, int dindin, Plantel p){
        setNomeCompleto( nomeComp );
        setNomeAbreviado( nomeAbr );
        setColor( cor );
        setNivelInicial( nivel );
        setDivisaoAtual( divisao );
        setMoral( moral );
        setPlantel( p );
        setFormacao(null);
    }
    public Time( String nomeComp, String nomeAbr, Color[] cor,  int nivel){
        setNomeCompleto( nomeComp );
        setNomeAbreviado( nomeAbr );
        setColor( cor );
        setNivelInicial( nivel );
        setDivisaoAtual( 0 );
        setMoral( 0 );
        setPlantel( null );
        setFormacao(null);
    }
    public Time( String nomeComp, String nomeAbr, Color[] cor, int nivel, Plantel plantelTime){
        setNomeCompleto( nomeComp );
        setNomeAbreviado( nomeAbr );
        setColor( cor );
        setNivelInicial( nivel );
        setDivisaoAtual( 0 );
        setMoral( 0 );
        setPlantel( plantelTime );
        setFormacao(null);
    }

    public Time() {
        setNomeCompleto( null );
        setNomeAbreviado( null );
        setColor( null );
        setNivelInicial( 0 );
        setDivisaoAtual( 0 );
        setMoral( 0 );
        setPlantel( null );
        setFormacao(null);
    }


}
